home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / TCP_IP / TNOS230D / NEW2TN1.13 < prev    next >
Text File  |  1995-06-15  |  22KB  |  495 lines

  1.                     Upgrading TNOS to release 1.13
  2.          http://www.lantz.com/Update1.13.html
  3.  
  4.  
  5. TNOS 1.13 will be the next release of TNOS, to be released sometime
  6. before the formation of the United Federation of Planets. Hopefully,
  7. this list of changes will give you an idea of the scope of work that
  8. has occurred between versions. Of course, it may be faster just to
  9. re-read the docs when the next version is released.
  10.  
  11. New to release 1.13 is support for FreeBSD and other BSD variants of Unix.
  12.  
  13.  
  14. This document is divided into:
  15.  
  16.  
  17.     * Bug Fixes
  18.     * Improvements
  19.     * Minor Changes
  20.     * Known Bugs
  21.     * To-Do List
  22.  
  23. ------------------------------------------------------------
  24. Bug Fixes:
  25.  
  26. The following bugs have been squashed.
  27.  
  28. *    ARP Response bug fixed    
  29.   Thanks to an excellent bug report by Kurt Freiberger <kurt@cs.tamu.edu>,
  30.   there is another one dead, but the 1.12 release is already locked :-(
  31.  
  32.   The bug occurs when replying to an arp request. The response
  33.   (incorrectly) comes from the Link address, NOT the IPCALL. Ron had helped
  34.   me find the reverse situation, but this one sliped through the cracks.
  35.  
  36. *    AXUI Buglet in 1.12.... 
  37.   I didn't notice, but the AXUI application sends it's string with a
  38.   trailing <LF> under Linux, instead of a trailing <CR>. Fixed now ;-)
  39.  
  40. *    Fixed some conditional buglets in expire.c w/WPAGES 
  41.   This kept you from compiling without WPAGES. Fixed now....
  42.  
  43. *    Fixed the occasional 'ghost' statline in Linux version 
  44.   Several assorted fixes made this 'ghost' leave to haunt others.
  45.  
  46. *    Fixed bug in the maintainence code 
  47.   The expiry keep waiting for all BBS users to be off, even if maintainence
  48.   mode was off. This is now fixed.
  49.  
  50.   Also added a 5 second delay after outputting the maintainence string
  51.   before disconnecting, since the disconnect was in some cases too fast.
  52.  
  53. *    Infrequent 'SC' bug - understood and fixed.... 
  54.   There has been a known bug in that if you use 'SC' (or use the
  55.   mini-editor '/c' command, sometimes not all of the copies get sent, if PBBS
  56.   forwarding is used. I now understand the cause....
  57.  
  58.   The PBBS *.fwd files store the area name and the message wrapper ID (not
  59.   to be confused with the MID, or the BID). The message wrapper ID is the
  60.   number found in the third line of the headers '  id AA1111'. Each message
  61.   going through the smtpserver gets one of these.
  62.  
  63.   The BIDs generated are based on the MID, which IS unique for each copy of
  64.   a message.
  65.  
  66.   Well, the bug occurs when two CC:s of a message get rewritten into the
  67.   same area for forwarding. The first one will go out fine, but when the
  68.   second comes up, it looks up the message wrapper ID, finds that it has
  69.   been forwarded already, marks the 'errant' forwarding entry as done, and
  70.   moves on. The code had no provision for having two messages with the same
  71.   wrapper ID, though the forwarding code is the only spot that had a problem.
  72.   This is now fixed.
  73.  
  74. *    TCPGATE bug fixed.... 
  75.   There was a bug with TCPGATE where if the socket was closed prematurely
  76.   the program would lock up. This is now fixed.
  77.  
  78. *    BBS gatewaying timeout fixed 
  79.   WELL!! It seems that the tdisc NEVER worked for the gateway commands
  80.   (connect, telnet, etc.), and maybe never did for ANY xNOS! This is also
  81.   fixed.
  82.  
  83. *    BBS MM and MC commands number of arguments checked 
  84.   The maximum number of arguments was
  85.   set to 20, and these commands sets up an array of message numbers,
  86.   but there is no error check for too many messages. Fixed.
  87.  
  88. *    Long-time bug in FTP client code fixed 
  89.   The has existed in xNOS since probably day one a bug, that if you are doing
  90.   an outgoing FTP session and the socket dies in the midst (from the other
  91.   end or by you doing a 'reset' from the Command Session), xNOS dies a
  92.   glorious death. This simple to fix but obviously elusive bug has now
  93.   suffered the same fate ;-)
  94.  
  95. *    More exhaustive compiler warnings under Linux 
  96.   I've used the GCC compiler under Linux with just about every
  97.   possible warning enabled, and have the code cleaned up even
  98.   under the tighest microscope.
  99.  
  100. *    SMTP bugfix for long userids 
  101.   A bug where the SMTP userid could be received as longer than the available
  102.   buffer for holding it has been fixed.
  103.  
  104. *    MSDOS BBS login with long username security bug fixed 
  105.   In the DOS version, a user could anonymously login with a name longer than
  106.   8 characters, and if there was a user with a login (exactly 8 characters)
  107.   that matched with the first 8 characters, then that anonymous user would
  108.   have access to the REAL users' mailbox, since for DOS we must truncate
  109.   filename (usernames) to the first 8 characters. Now all BBS logins for
  110.   MSDOS are checked, and if it is anonymous and greater than 8 characters,
  111.   it is refused. This does NOT effect FTP, or any other login.
  112.  
  113. ------------------------------------------------------------
  114. Improvements:
  115.  
  116. The following optimizations and improvements have occurred.
  117.  
  118.  
  119. *    A Set Messagenumber command added to the BBS 
  120.   A new command, 'SM x' is added to the BBS, allowing you to quickly
  121.   change the current message number for use with commands that act upon the
  122.   current message.
  123.  
  124. *    New forwarding option... 
  125.   There is now a 'forward mycall' command, which (if set) defines the
  126.   callsign used by outgoing forward sessions, regardless of the interface's
  127.   linkaddr. If it is NOT defined, then the linkaddr is used, as before....
  128.  
  129.   Thanks to Kurt Freiberger <kurt@cs.tamu.edu> for the idea....
  130.  
  131.   > The ax25 user parameter works very well.  I figured it'd
  132.   > work for forwarding as well, but it's still using the linkaddr call.
  133.  
  134. *    BBS command 'LB' added 
  135.   This command is the same as 'LIST', except that the display includes the
  136.   BID in the output, and omits the date and size.
  137.  
  138. *    New prefix command to execute commands in all areas 
  139.   You can now do kills, lists, reads, verbose reads, or MA/MH/MP/MT
  140.   commands on all areas, by preceeding the command with a '!'. All other
  141.   commands give you a message saying it doesn't make sense to do this in
  142.   multiple areas, and then does it once.
  143.  
  144.   For example, to list the first 5 messages in all areas, use '! l 1 5'. To
  145.   look for a bid in all areas, use '! L$ bidtolookfor'.
  146.  
  147. *    More security - never enough ;-) 
  148.   I discovered one remaining security hole that I had, so we have a new
  149.   subcommand of the security command, 'security nonsecureampr <addr>'. This
  150.   sets up a single ampr.org address (44.xx.xx.xx) as being NON-SECURE for
  151.   anonymous ampr/ax25/netrom access.
  152.  
  153.   The problem on my end was that the Linux side of my machine has an ampr
  154.   address on its side of the SLIP connection. All connections coming from
  155.   the Linux side of the machine come with that AMPR address. I allow logins
  156.   to lantz.com to come into the gateway, which made them unsecured and set
  157.   as a trusted ampr site. Now any coming this way are treated as non-ampr
  158.   for that one address only.
  159.  
  160. *    Added a QUICKSCAN BBS command 
  161.   Since a couple of users had asked how to do a quickscan DURING a BBS
  162.   session, like the one they get on login, I added a QUICKSCAN command,
  163.   with a "QS" abbreviation.
  164.  
  165. *    Added a 'Sender' line to all incoming SMTP messages 
  166.   Since xNOS SMTP takes the envelope address and uses that as the 'From:'
  167.   address, ignoring the real 'From:' address, I've added code in the SMTP
  168.   server that takes the original 'From:' address and makes it into a
  169.   'Sender:' line. If you are getting mail from a mailing list that uses
  170.   an envelope address to send it, this will allow you to see who the
  171.   original sender was, with the 'V' command.
  172.  
  173. *    Added functionality to finger server... 
  174.   I've added something else to the finger server that isn't found on normal
  175.   finger servers; the ability to request for other hosts finger info within
  176.   a finger request. For example, you can send a finger request of:
  177.  
  178.         finger user%host@tnos.host
  179.  
  180.   The 'tnos.host' will receive 'user%host', and will change this to a
  181.   request of 'user@host', will remote gateway it, and send the results on
  182.   as the data to the originator.
  183.  
  184.   This can be used when (for example) a TNOS gateway has connectivity to
  185.   the Internet, but the local RF network is firewalled and can't be
  186.   directly reached by the Internet. An Internet user can get the TNOS
  187.   gateway to relay the finger request, and pass the results back.
  188.  
  189.   If you had a reason to, you can nest these. That is, you can send:
  190.  
  191.         finger user%dest%gate2%gate1@tnos.host
  192.  
  193. *    Bad word list and questionable user list... 
  194.   Now you can automatically hold messages that contain language that you
  195.   find questionable or from users who cannot be implicitely trusted.
  196.  
  197.   Two new files, /spool/userhold.dat and /spool/wordhold.dat are where the
  198.   data is placed. Partial matches ARE done, so (for example), if you place
  199.   the word 'main' in the wordhold.dat file, all messages with the string
  200.   'main' anywhere in it will be held. Mainland, maintainence, etc will all
  201.   match.
  202.  
  203.   Same goes for email users. A name of 'brian' in the userhold.dat will
  204.   hold all messages from ANY user named 'brian', or from any host with
  205.   'brian' in the name.
  206.  
  207.   There is no limit to the number of userhold.dat lines, but the
  208.   wordhold.dat can be no longer than 100 lines. The wordhold data is read
  209.   into memory, so if you use this under DOS, be aware that the more you put
  210.   in, the more likely the chance you will run out of memory. With power
  211.   comes responsibility ;-)
  212.  
  213. *    An addition to ARP..... 
  214.   For a specific need I have coming up soon, I am adding a new feature to
  215.   the ARP code. The command, 'arp dupcall', is used when ARPing on an AX25
  216.   interface (if defined) to send out a SECOND ARP broadcast each time. The
  217.   first one is always sent to the AX25 callsign 'QST'. The second one (if
  218.   enabled) is sent to the address defined with 'arp dupcall'. This allows
  219.   you to send the arp requests to two different places, using 'ax route'
  220.   and defining different digi path for the two different call signs.
  221.  
  222. *    'domain localtrans' command added 
  223.   Back in November (yes, I keep code ideas archived), Todd W. Powers wrote
  224.   on the nos-bbs mailing list about an addition he made, a 'domain localtrans'
  225.   command. This has been added into Release 1.13.
  226.  
  227.   There had been discussion about the long lookup times when turning
  228.   domain translate on, which this helps to reduce.
  229.   This flag (if set) will only look at the local DOMAIN.TXT
  230.   file when displaying such things as 'routes' 'arp', 'rspf routes', etc...
  231.  
  232. *    TNOS 1.13, FreeBSD, and other BSD systems 
  233.   Thanks to Carl M. Fongheiser/KF0YN <cmf@ins.infonet.net>, release 1.13
  234.   SHOULD compile fine for FreeBSD and similar variants of Unix.
  235.   Carl did the port, and sent in the diffs. He has been in touch off and
  236.   on, and SOME of what he had to do to previous releases HAD been incorporated
  237.   into 1.12.
  238.   Of note, from Carl:
  239.  
  240.   > Up and coming things:  FreeBSD doesn't let you use the SLIP over
  241.   > a PTY trick like Linux does.  On the other hand, the version
  242.   > that'll be released soon will have a "tunnel" network interface,
  243.   > which will let you do almost the same sort of thing.  I'm planning
  244.   > to add a TNOS interface to that.
  245.  
  246. *     Command session 'sleep' command added 
  247.   The command 'SLEEP num', 
  248.   allows delaying 'num' seconds before receiving next input line.
  249.  
  250. *     Command session 'pause' command added 
  251.   The command 'PAUSE [num]',
  252.   allows optional delaying of 'num' seconds, and then prompting
  253.   for the user to 'hit enter to continue'.
  254.  
  255. *     Command session 'echo' command added 
  256.   The command 'ECHO [string data]',
  257.   allows displaying to the current session's output an line
  258.   consisting of the concatenated remaining arguments, followed
  259.   by a <CR>. The previous 'echo' command was renamed to 'echomode'.
  260.  
  261. *     SMTP HOPPER added 
  262.   Also added in the SMTP HOPPER code from JNOS. This code, put simply,
  263.   takes effect if there is no direct SMTP connectivity to a host, and the
  264.   host has NO MX record in the DNS. If this occurs, AND the TNOS station
  265.   knows where to route the packets (with a 'route' statement), then the
  266.   station who IS the routing gateway is ASSUMED to also be able to serve as
  267.   a SMTP gateway, and the mail is sent there...
  268.  
  269. *     AX25PASSWORD code added from JNOS 
  270.  
  271. *     TNOS Conference Bridge is now a PingPong Conference Bridge 
  272.   MANY changes in the Conference Bridge, and PingPong users will love 'em!
  273.   The displays match closer, the PingPong quality checking is there, the
  274.   destinations command is added, numberically sorted displays, route
  275.   destination tracing, integration of TNOS net titles with PingPong topics,
  276.   an added uptime command, and more.
  277.  
  278. *    Added 'convers online' and 'convers cstat' commands 
  279.   Those familiar with PingPong already can guess what these do, huh! The
  280.   'convers online' command is a shortcut for 'finger conf'. The 'convers
  281.   cstat' command gives the link status display, followed by the destination
  282.   display.
  283.  
  284. *    Added the relaying of unknown 'host' Conference Bridge commands 
  285.   Added code to forward on to all other connected hosts any 'host'-type
  286.   commands received that it doesn't understand. Previously, any 'new' commands
  287.   got bit-bucketted at a host that didn't recognize it, whether the next one
  288.   down the line knew what to do with it or not. This will allow servers to add
  289.   new functionality, without requiring all servers to add this in order for it
  290.   to be used.
  291.  
  292. *    Added a Conference Bridge '/CQ' command 
  293.   I've added a command ('/CQ  [topic]') by which a user could send a message
  294.   to all users, which displays something like:
  295.  
  296.         callsign@host channel xx calling CQ [topic]
  297.  
  298.   for people to establish QSO's without having to go to any particular
  299.   channel to see who's there and what's happening. It allows those who are
  300.   looking for conversation partners to make it known!
  301.  
  302. *    Added a Conference Bridge '/sysinfo' command 
  303.   This command (and the coresponding host command) are added to maintain
  304.   compatibility with TPP. It allows the user to request system information
  305.   from either the local host, or a remote host, assuming that the hosts in
  306.   between are TPP compatible.
  307.  
  308. *    Added TPP extended command support 
  309.   Tampa PingPong (TPP) provides a way to extend a local Conference server
  310.   with commands that reside on a remote host. This support is also built
  311.   into TNOS with this release.
  312.  
  313.  
  314. ------------------------------------------------------------
  315. Minor Changes:
  316.  
  317. The following minor changes have occurred.
  318.  
  319.  
  320. *    Slight modification to the mail.log output 
  321.   I've added the message type (P/B/T) to the output, right after 'deliver'.
  322.   This is to allow easier parsing of mail.log file for finding out how many
  323.   personals and how many bulletins.
  324.  
  325. *    Added an additional comment character to the BBS 
  326.   In addition to lines starting with a ';', all lines beginning with a '#'
  327.   are now ignored in the BBS, and treated as comments.
  328.  
  329. *    'AX25 mycall' and 'ax25 user' callsigns initialized 
  330.   In the startup code, these two callsigns are initialized to 'NOCALL'.
  331.   Several spots in the code assumed that these were set to SOMETHING, so
  332.   now they are. When an ax25 interface is attached, it takes the 'ax mycall'
  333.   as the linkaddr and ipcall. If the 'ax mycall' is not set prior to the
  334.   attaches, they USED to be blank; now they will be NOCALL.
  335.  
  336. *    BBS 'L$' output changed 
  337.   This command works the same, but the output is like the new 'LB' command,
  338.   showing the bids matched.
  339.  
  340. *    No output from BBS list commands if no matches 
  341.   These used to display a listing header even if no messages matched the
  342.   messages selected. Now, there is no output if there is no match.
  343.  
  344. *    Add support for Chameleon-style bids to be PBBS forwarded 
  345.   Similar to the support I added for Pine-stype bids in 1.12, now bids
  346.   from the Chameleon mailer will be converted to a unique bid when being
  347.   forwarded out with PBBS forwarding.
  348.  
  349. *    The maximum number of arguments (NARG) increased to 30 
  350.   This was set to 20.
  351.  
  352. *    MBOX MAXUSERS - revisited 
  353.   Now outgoing forwarding sessions, and incoming
  354.   connects from BBSs that are in your forward.bbs file will occur even if the
  355.   'mb maxusers' is reached, as long as the hardcoded maximum (40 at the
  356.   present) hasn't been reached. So if you want to always allow up to 2 BBS
  357.   forwarding sessions, you can set 'mb maxusers' to 38.
  358.  
  359.   The catch: the incoming BBS sessions must either be an AX25 connect or a
  360.   NETROM connect. Telnets lose out!
  361.  
  362. *     MBOX TDISC - revisited 
  363.   The 'mbox tdisc' timer now no longer will time out a user that has SYSOP
  364.   privileges.
  365.  
  366. *    The Command Session 'echo' command was renamed to 'echomode' 
  367.  
  368. *    Cleanup of conditional from config.h 
  369.   I've done quite a bit of cleanup on the conditionals, and made many more
  370.   (almost all) conditionals compile clean if they are turned off.
  371.  
  372.   I also added in a couple of new conditionals, GATECMDS, FILECMDS, and
  373.   FOQ_CMDS (like the JNOS code supports), and added conditional code to the
  374.   previously unused MAILCMDS conditional. You can now leave out just about
  375.   anything. To leave out more, you need 'del tnos.exe' ('rm tnos', for
  376.   Linux) ;-)
  377.  
  378. *    Added syntax to the alias file entries 
  379.   In TNOS, if there is an alias (or a group list), the ORIGINAL To: line is
  380.   changed to the NEW To: address. While this is different, it IS exactly
  381.   what you REALLY want in almost ALL cases. Otherwise, when it leaves via
  382.   PBBS forwarding (or SMTP, for that matter), the ORIGINAL TO address will
  383.   make most PBBS's puke, or try to send ALL copies of the aliased file to
  384.   a user of the ORIGINAL TO name, which won't be found anywhere.
  385.  
  386.   I received MUCH flame mail locally about this 'old' way of doing things
  387.   when I started TRYING to use aliases and groups locally.
  388.  
  389.   And while this is ALMOST always what you want, there are at least two
  390.   cases when you DON'T want this. The first is if you are have NNTP
  391.   compiled in, and wish it to go to a NNTP group with the original TO
  392.   address. The second is if you wish to 'CC:' a message. Rob, for instance,
  393.   places a copy of all messages to certain mail areas in a special area
  394.   that is a compilation of all messages within the last 2 days. In this
  395.   case, you DO want to preserve the original TO address.
  396.  
  397.   So, as of 1.13, when looking at the address,
  398.   if it came from an alias and the receiver name either starts with '!' or
  399.   'cc:', then the ORIGINAL To: line is preserved. Otherwise, it takes the
  400.   expected action of making the To: line read as the expanded name.
  401.  
  402.   So you could have a rewrite like:
  403.  
  404.        *@tpalan* tpalan
  405.  
  406.   then an alias file with
  407.  
  408.        tpalan cc:tpalan !packet.tpalan cc:ko4ks@ko4ks.ampr.org joe@blow
  409.  
  410.   meaning anything that came in to say 'tnos@tpalan' would drop to tpalan,
  411.   and be left there, AS WELL as getting to NNTP as group packet.tpalan,
  412.   being copied to me (all still with the to line as 'tnos@tpalan'), and
  413.   also going addressed to joe@blow.
  414.  
  415. *    Changed Conference Bridge /who display default 
  416.   The default display for a '/who' command used to be the long display. It
  417.   is now the same as the quick display, making '/who' and '/who q' the same.
  418.   to get the original, normal display, use '/who n'.
  419.  
  420. *    Added an option to the Conference Bridge '/who' command 
  421.   The syntax of '/who @ hostname' is now supported, which gives a normal
  422.   (long) who display, but only of users at 'hostname'. The 'hostname' parameter
  423.   can be a complete name, or only the beginning of a name, for brevity.
  424.  
  425.  
  426. ------------------------------------------------------------
  427. Known Bugs:
  428.  
  429. The following are known bugs that are being worked on during the development
  430. of release 1.13. These may or may not be fixed in release 1.13.
  431.  
  432.  
  433. *    TCPGATE won't compile in DOS version 
  434.   Missing some references in the source. Will be fixed soon...
  435.  
  436. *     Screen saver not right in Linux version 
  437.   Display doesn't clear, just overwrites. Not harmful, but not right.
  438.  
  439. *     WHITE PAGES flakiness, at times 
  440.   The expiring and sorting of WP can at times make things
  441.   a little flakey. This is still under construction.
  442.  
  443. *    FTP permissions improved 
  444.   The new UNIX-like dir display needs a little more work with the permissions
  445.   portion of the display...
  446.  
  447.  
  448. ------------------------------------------------------------
  449. To-Do List:
  450.  
  451. The following are things on my 'to-do' list that may eventually
  452. be done, but not necessarily by the next release.
  453.  
  454.  
  455. *    Linux kernel AX25 devices available from TNOS/Linux 
  456.   This would allow the PI card to be used....
  457.  
  458. *    BID History moved to an in-memory structure 
  459.   This will eliminate the need to sort the history file, allow faster
  460.   lookups, and eliminate the need to 'bid kick' in order to update the BID
  461.   info.
  462.  
  463. *    Bypass internet SMTPClient->SMTPServer for local mail 
  464.   Find a way to do all that is being done, without the overhead of two
  465.   separate processes, and two different temp files.
  466.  
  467. *    FBB-style forwarding 
  468.   No, I didn't give up on this....
  469.  
  470. *    HTTP daemon??? 
  471.   Who knows!
  472.  
  473. *    Add in a way to process PBBS 'import' files 
  474.   Probably by rewriting a file to area 'import', the file would be processed
  475.   and the messages treated as being received by a direct PBBS connection.
  476.  
  477. *    Modify the delegation server 
  478.   Make this only send ONE notification per user per delegation period.
  479.  
  480. *    Add capability to TScript to allow starting of OS commands 
  481.   This MAY or MAY NOT be limited to Linux version.
  482.  
  483. *    Add in UNIX permissions checking to FTP server 
  484.   This could cause problems with restricted files not being restricted.
  485.  
  486. *    Some capability internally or externally to generate statistics 
  487.   Use the log files to show patterns of traffic, usage, etc.
  488.  
  489. *    Decide if I'm going to add a third mode to maintainence mode
  490.   One which will bump users off with a message, then start maintainence.
  491.  
  492.  
  493.  
  494.  
  495.